<template>
  <el-link :type="type" :icon="icon" :disabled="!hasPerms(perms)" @click="handleClick">{{label}}</el-link>
</template>

<script>
export default {
  name: 'KtLink',
  // 文本
  props: {
    label: {
      type: String,
      default: ''
    },
    // 图标
    icon: {
      type: String,
      default: ''
    },
    // 类型
    type: {
      type: String,
      default: null
    },
    // 是否禁用
    disabled: {
      type: Boolean,
      default: false
    },
    // 按钮权限标识，外部使用者传入
    perms: {
      type: String,
      default: null
    }
  },
  data () {
    return {
    }
  },
  methods: {
    handleClick () {
      // 按钮操作处理函数
      this.$emit('click', {})
    },
    hasPerms (perms) {
      // 根据权限标识和外部指示状态进行权限判断
      return this.$_has(perms) & !this.disabled
    }
  }
}
</script>
